<html>
<head>
	<meta charset="utf-8">
	<link rel="stylesheet" type="text/css" media="all" href="../css/style.css"/>
	<script src="optionspage.js" type="text/javascript"></script>
</head>
<body>

<!-- Navigation tabs -->

<ul id="nav">
	<li id="ua" class="selected">Profile</li><!--
	--><li id="headers">Headers</li><!--
	--><li id="extras">Options</li><!--
	--><li id="whitelist">Whitelist</li><!--
	--><li id="help">?</li>
</ul>

<!-- "Profile" Tab -->

<div id="ua_tab">
	<ul>
		<li>
			<input type="radio" name="ua" id="default" value="default" />
			<label for="default" id="default_label">Real Profile</label>
		</li>
		<li>
			<input type="radio" name="ua" id="random" value="random" />
			<label for="random">Random</label>
		</li>
		<li>
			<input type="radio" name="ua" id="random_desktop" value="random_desktop" />
			<label for="random_desktop">Random (Desktop)</label>
		</li>
		<li>
			<input type="radio" name="ua" id="random_mobile" value="random_mobile" />
			<label for="random_mobile">Random (Mobile)</label>
		</li>
	</ul>

	<div id="time_interval_display">
		<label for="timerdd">Change periodically:</label>

		<select id="timerdd">
			<option value="none">No</option>
			<option value="randomTime">Random</option>
			<option value="request">Every request</option>
			<option value="1">Every minute</option>
			<option value="5">Every 5 mins</option>
			<option value="10">Every 10 mins</option>
			<option value="20">Every 20 mins</option>
			<option value="30">Every 30 mins</option>
			<option value="40">Every 40 mins</option>
			<option value="50">Every 50 mins</option>
			<option value="60">Every hour</option>
		</select>
	</div>

	<div id="ualist"></div>
</div> <!-- End "Profile" Tab -->

<!-- "Headers" Tab -->

<div id="headers_tab" class="hidden">
	<p>
		<input type="checkbox" id="auth" data-invertvalue="false" data-prefname="extensions.agentSpoof.authorization" />
		<label for="auth">Disable Authorization</label>
	</p>

	<p>
		<input type="checkbox" id="dnt" data-invertvalue="false" data-prefname="privacy.donottrackheader.enabled" />
		<label for="dnt">Enable DNT (Do Not Track)</label>
	</p>

	<p>
		<input type="checkbox" id="ifnone" data-invertvalue="false" data-prefname="extensions.agentSpoof.ifnone" />
		<label for="ifnone">Spoof If-None-Match (ETags)</label>
	</p>

	<p class="multi">
		<input type="checkbox" id="via" data-invertvalue="false" data-prefname="extensions.agentSpoof.via" />
		<label for="via">Spoof Via using a</label>
		<select class="ipdropdown" id="viadd" data-prefname="extensions.agentSpoof.viadd" data-uipref="customvia">
			<option value="random">random IP</option>
			<option value="custom">custom IP</option>
		</select>
	</p>

	<p id="customvia" class="hidden">
		<label for="viaip">IP address:</label><!--
		--><input type="text" id="viaip" maxlength="15" data-invertvalue="false" data-prefname="extensions.agentSpoof.viaip" />
	</p>

	<p class="multi">
		<input type="checkbox" id="xff" data-invertvalue="false" data-prefname="extensions.agentSpoof.xff" />
		<label for="xff">Spoof X-Forwarded-For using a</label>
		<select class="ipdropdown" id="xffdd" data-prefname="extensions.agentSpoof.xffdd" data-uipref="customxff">
			<option value="random">random IP</option>
			<option value="custom">custom IP</option>
		</select>
	</p>

	<p id="customxff" class="hidden">
		<label for="xffip">IP address:</label><!--
		--><input type="text" id="xffip" maxlength="15" data-invertvalue="false" data-prefname="extensions.agentSpoof.xffip" />
	</p>

	<p>
		<input type="checkbox" id="ref" data-invertvalue="false" data-prefname="extensions.agentSpoof.disableRef"/>
		<label for="ref">Disable Referer</label>
	</p>

	<p>
		<input type="checkbox" id="refss" data-invertvalue="false" data-prefname="network.http.referer.spoofSource"/>
		<label for="refss">Spoof Source Referer</label>
	</p>
	
	<p>
		<input type="checkbox" id="spdy" data-invertvalue="true" data-prefname="network.http.spdy.enabled"/>
		<label for="spdy">Disable X-Firefox-Spdy</label>
	</p>
	
	<p>
		<label for="refxopdd">Referer X Origin Policy :</label>
		<select id="refxopdd" class="idd" data-prefname="network.http.referer.XOriginPolicy">
			<option value="0">Always send</option>
			<option value="1">Match base domain</option>
			<option value="2">Match host</option>
		</select>
	</p>

	<p>
		<label for="reftpdd">Referer Trimming Policy :</label>
		<select id="reftpdd" class="idd" data-prefname="network.http.referer.trimmingPolicy">
			<option value="0">Send full URI (default)</option>
			<option value="1">Scheme, host, port + path</option>
			<option value="2">Scheme, host + port</option>
		</select>
	</p>

	<hr>

	<p class="notice">The following headers are defined by the selected browser profile.</p>

	<p>
		<input type="checkbox" id="acceptd" data-raspref="extensions.agentSpoof.acceptDefault" data-ffheader="network.http.accept.default" />
		<label for="acceptd">Spoof Accept</label>
	</p>

	<p>
		<input type="checkbox" id="accepte"data-raspref="extensions.agentSpoof.acceptEncoding" data-ffheader="network.http.accept-encoding" />
		<label for="accepte">Spoof Accept-Encoding</label>
	</p>

	<p class="multi">
		<input type="checkbox" id="acceptl" data-raspref="extensions.agentSpoof.acceptLang" data-ffheader="intl.accept_languages" />
		<label for="acceptl">Spoof Accept-Language as </label>
		<select id="langdd" class="dd" data-prefname="extensions.agentSpoof.acceptLangChoice" >
			<option value="da-DK">da-DK</option>
			<option value="de-DE">de-DE</option>
			<option value="en-US">en-US</option>
			<option value="es-ES">es-ES</option>
			<option value="fr-FR">fr-FR</option>
			<option value="it-IT">it-IT</option>
			<option value="ja">ja</option>
			<option value="ko-KR">ko-KR</option>
			<option value="pt-PT">pt-PT</option>
			<option value="ru-RU">ru-RU</option>
			<option value="sv-SE">sv-SE</option>
			<option value="sq-AL">sq-AL</option>
			<option value="zh-CN">zh-CN</option>
		</select>
	</p>

</div> <!-- End "Headers" Tab-->

<!-- "Extras" Tab -->

<div id="extras_tab" class="hidden">
	
	<h3 id="ui_options_title" class="trigger">User Interface Options</h3>

	<div class="expandable">

		<p>
			<input type="checkbox" id="show_notifications" data-invertvalue="false" data-prefname="extensions.jid1-AVgCeF1zoVzMjA@jetpack.show_notifications" />
			<label for="show_notifications">Display Profile Notifications</label>
		</p>

		<p>
			<input type="checkbox" id="show_context_menu" data-invertvalue="false" data-prefname="extensions.jid1-AVgCeF1zoVzMjA@jetpack.show_context_menu" />
			<label for="show_context_menu">Display Context Menu</label>
		</p>

	</div>


	<h3 id="script_injection_title" class="trigger">Script Injection Options</h3>

	<div class="expandable">
		<p>
			<input type="checkbox" id="scriptinjection"data-invertvalue="false" data-prefname="extensions.agentSpoof.scriptInjection" />
			<label for="scriptinjection">Enable script injection</label>
		</p>

		<p class="notice">Several options and features (e.g. whitelist) require script injection.</p>

<!-- temporarily disabled while a fix is being sought
		<p>
			<label for="tzdd">Time zone spoofing (UTC):</label>
			<select id="tzdd" class="dd" data-prefname="extensions.agentSpoof.tzOffset">
				<option value="default">Default</option>
				<option value="random">Random</option>
				<option value="12">-12:00</option>
				<option value="11">-11:00</option>
				<option value="10">-10:00</option>
				<option value="9.5">-09:30</option>
				<option value="9">-09:00</option>
				<option value="8">-08:00</option>
				<option value="7">-07:00</option>
				<option value="6">-06:00</option>
				<option value="5">-05:00</option>
				<option value="4.5">-04:30</option>
				<option value="4">-04:00</option>
				<option value="3.5">-03:30</option>
				<option value="3">-03:00</option>
				<option value="2">-02:00</option>
				<option value="1">-01:00</option>
				<option value="0">00:00</option>
				<option value="-1">+01:00</option>
				<option value="-2">+02:00</option>
				<option value="-3">+03:00</option>
				<option value="-3.5">+03:30</option>
				<option value="-4">+04:00</option>
				<option value="-4.5">+04:30</option>
				<option value="-5">+05:00</option>
				<option value="-5.5">+05:30</option>
				<option value="-5.75">+05:45</option>
				<option value="-6">+06:00</option>
				<option value="-6.5">+06:30</option>
				<option value="-7">+07:00</option>
				<option value="-8">+08:00</option>
				<option value="-8.75">+08:45</option>
				<option value="-9">+09:00</option>
				<option value="-9.5">+09:30</option>
				<option value="-10">+10:00</option>
				<option value="-10.5">+10:30</option>
				<option value="-11">+11:00</option>
				<option value="-11.5">+11:30</option>
				<option value="-12">+12:00</option>
				<option value="-12.75">+12:45</option>
				<option value="-13">+13:00</option>
				<option value="-14">+14:00</option>
			</select>
		</p>
-->
		<p>
			<label for="screendd">Screen size spoofing :</label>
			<select id="screendd" class="dd" data-prefname="extensions.agentSpoof.screenSize">
				<option value="default">Default</option>
				<option value="random">Random</option>
				<option value="profile">Profile</option>
				<option value="800x600">800×600</option>
				<option value="1024x600">1024×600</option>
				<option value="1024x768">1024×768</option>
				<option value="1152x864">1152×864</option>
				<option value="1280x720">1280×720</option>
				<option value="1280x768">1280×768</option>
				<option value="1280x800">1280×800</option>
				<option value="1280x960">1280×960</option>
				<option value="1280x1024">1280×1024</option>
				<option value="1360x768">1360×768</option>
				<option value="1366x768">1366×768</option>
				<option value="1440x900">1440×900</option>
				<option value="1400x1050">1400×1050</option>
				<option value="1600x900">1600×900</option>
				<option value="1600x1200">1600×1200</option>
				<option value="1680x1050">1680×1050</option>
				<option value="1920x1080">1920×1080</option>
				<option value="1920x1200">1920×1200</option>
				<option value="2048x1152">2048×1152</option>
				<option value="2560x1440">2560×1440</option>
				<option value="2560x1600">2560×1600</option>
			</select>
		</p>
		
		<p>
			<label for="spoofCoresdd">CPU Cores Spoofing :</label>
			<select id="spoofCoresdd" class="dd" data-prefname="extensions.agentSpoof.spoofCores">
				<option value="default">Default</option>
				<option value="random">Random</option>
				<option value="none">None</option>
				<option value="2">2</option>
				<option value="4">4</option>
				<option value="6">6</option>
				<option value="8">8</option>
			</select>
		</p>
		
		<p>
			<input type="checkbox" id="winname"data-invertvalue="false" data-prefname="extensions.agentSpoof.windowName" />
			<label for="winname">Protect window.name</label>
		</p>

		<p>
			<input type="checkbox" id="canvas" data-invertvalue="false" data-prefname="extensions.agentSpoof.canvas" />
			<label for="canvas">Disable canvas support</label>
		</p>

		<p>
			<input type="checkbox" id="tab_history" data-invertvalue="false" data-prefname="extensions.agentSpoof.limitTab" />
			<label for="tab_history">Limit tab history to 2</label>
		</p>
		
		<p>
			<input type="checkbox" id="block_plugins" data-invertvalue="false" data-prefname="extensions.agentSpoof.blockPlugins" />
			<label for="block_plugins">Block plugins</label>
		</p>

		<p>
			<input type="checkbox" id="web_sockets" data-invertvalue="false" data-prefname="extensions.agentSpoof.webSocket" />
			<label for="web_sockets">Disable Web Sockets</label>
		</p>
		
		<p>
			<input type="checkbox" id="audio_context" data-invertvalue="false" data-prefname="extensions.agentSpoof.audioContext" />
			<label for="audio_context">Disable Audio Context API</label>
		</p>
	</div>

	<h3 id="standard_extras_title" class="trigger">Standard Options</h3>

	<div class="expandable">
		<p>
			<input type="checkbox" id="fonts" data-prefname ="browser.display.use_document_fonts"/>
			<label for="fonts">Limit detectable fonts</label>
		</p>

		<p>
			<input type="checkbox"id="dom" data-invertvalue="true" data-prefname="dom.storage.enabled" />
			<label for="dom">Disable local dom storage</label>
		</p>

		<p>
			<input type="checkbox" id="browsing_downloads" data-invertvalue="true" data-prefname="places.history.enabled" />
			<label for="browsing_downloads">Disable browsing and download history</label>
		</p>

		<p>
			<input type="checkbox" id="cache_memory" data-invertvalue="true" data-prefname="browser.cache.memory.enable" />
			<label for="cache_memory">Disable memory cache</label>
		</p>

		<p>
			<input type="checkbox" id="cache_disk" data-invertvalue="true" data-prefname="browser.cache.disk.enable" />
			<label for="cache_disk">Disable disk cache</label>
		</p>

		<p class="multi">
			<input type="checkbox" id="geo" data-invertvalue="false" data-prefname="geo.enabled" />
			<label for="geo">Enable geolocation using</label>
			<select id="geodd" class="dd" data-prefname="geo.wifi.uri" >
				<option value="https://www.googleapis.com/geolocation/v1/geolocate?key=%GOOGLE_API_KEY%">google's service</option>
				<option value="https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%">mozilla's service</option>
			</select>
		</p>

		<p class="hidden"></p> <!-- prevent multi class from intefering with preference below -->

		<p>
			<input type="checkbox" id="link" data-invertvalue="true" data-prefname="network.prefetch-next" />
			<label for="link">Disable link prefetching</label>
		</p>

		<p>
			<input type="checkbox" id="dns" data-invertvalue="false" data-prefname="network.dns.disablePrefetch" />
			<label for="dns">Disable DNS prefetching</label>
		</p>

		<p>
			<input type="checkbox" id="webgl" data-invertvalue="false" data-prefname="webgl.disabled" />
			<label for="webgl">Disable webGL</label>
		</p>

		<p>
			<input type="checkbox" id="webrtc" data-invertvalue="true" data-prefname="media.peerconnection.enabled" />
			<label for="webrtc">Disable webRTC</label>
		</p>

		<p>
			<input type="checkbox" id="pdfjs" data-invertvalue="false" data-prefname="pdfjs.disabled" />
			<label for="pdfjs">Disable pdfjs</label>
		</p>

		<p>
			<input type="checkbox" id="search_suggest" data-invertvalue="true" data-prefname="browser.search.suggest.enabled" />
			<label for="search_suggest">Disable search suggestions</label>
		</p>

		<p>
			<input type="checkbox" id="dom_performance" data-invertvalue="true" data-prefname="dom.enable_performance" />
			<label for="dom_performance">Disable dom performance</label>
		</p>

		<p>
			<input type="checkbox" id="dom_resource_timing" data-invertvalue="true" data-prefname="dom.enable_resource_timing" />
			<label for="dom_resource_timing">Disable dom resource timing</label>
		</p>

		<p>
			<input type="checkbox" id="dom_user_timing" data-invertvalue="true" data-prefname="dom.enable_user_timing" />
			<label for="dom_user_timing">Disable dom user timing</label>
		</p>
		<p>
			<input type="checkbox" id="dom_battery" data-invertvalue="true" data-prefname="dom.battery.enabled" />
			<label for="dom_battery">Disable battery api</label>
		</p>

		<p>
			<input type="checkbox" id="dom_gamepad" data-invertvalue="true" data-prefname="dom.gamepad.enabled" />
			<label for="dom_gamepad">Disable gamepad api</label>
		</p>

		<p>
			<input type="checkbox" id="clicktoplay" data-invertvalue="false" data-prefname="plugins.click_to_play" />
			<label for="clicktoplay">Use click to play for plugins</label>
		</p>

		<p>
			<input type="checkbox" id="mixed_content_active" data-invertvalue="false" data-prefname="security.mixed_content.block_active_content" />
			<label for="mixed_content_active">Block active mixed content</label>
		</p>

		<p>
			<input type="checkbox" id="mixed_content_display" data-invertvalue="false" data-prefname="security.mixed_content.block_display_content" />
			<label for="mixed_content_display">Block display mixed content</label>
		</p>

		<p>
			<input type="checkbox" id="browser_pings" data-invertvalue="true" data-prefname="browser.send_pings"/>
			<label for="browser_pings">Disable browser pings</label>
		</p>

		<p>
			<input type="checkbox" id="web_beacons" data-invertvalue="true" data-prefname="beacon.enabled"/>
			<label for="web_beacons">Disable web beacons</label>
		</p>

		<p>
			<input type="checkbox" id="clipboard_events" data-invertvalue="true" data-prefname="dom.event.clipboardevents.enabled"/>
			<label for="clipboard_events">Disable clipboard events</label>
		</p>

		<p>
			<input type="checkbox" id="context_menu_events" data-invertvalue="true" data-prefname="dom.event.contextmenu.enabled"/>
			<label for="context_menu_events">Disable context menu events</label>
		</p>

		<p>
			<input type="checkbox" id="tracking_protection" data-invertvalue="false" data-prefname="privacy.trackingprotection.enabled"/>
			<label for="tracking_protection">Enable tracking protection</label>
		</p>

		<p>
			<input type="checkbox" id="css_visited_links" data-invertvalue="true" data-prefname="layout.css.visited_links_enabled"/>
			<label for="css_visited_links">Disable CSS visited links</label>
		</p>

	</div>


	<h3 id="cookie_title" class="trigger">Cookie Options</h3>

	<div class="expandable">
	
	<p>
		<label for="cookiedd">Cookie Policy :</label>
		<select id="cookiedd" class="idd" data-prefname="network.cookie.cookieBehavior">
			<option value="0">Allow all</option>
			<option value="2">Block all</option>
			<option value="1">Block 3rd party</option>
			<option value="3">Allow 3rd party from visited</option>
		</select>
	</p>

	<p>
		<label for="cookielifedd">Keep Until :</label>
		<select id="cookielifedd" class="idd" data-prefname="network.cookie.lifetimePolicy">
			<option value="0">They Expire</option>
			<option value="2">Browser is closed</option>
		</select>
	</p>

	</div>

	<h3 id="reporting_extras_title" class="trigger">Reporting Options</h3>

	<div class="expandable">

		<p>
			<input type="checkbox" id="safe_browsing" data-invertvalue="true" data-prefname="browser.safebrowsing.enabled"/>
			<label for="safe_browsing">Disable safe browsing (Google)</label>
		</p>

		<p>
			<input type="checkbox" id="safe_browsing_downloads" data-invertvalue="true" data-prefname="browser.safebrowsing.downloads.enabled"/>
			<label for="safe_browsing_downloads">Disable safe browsing downloads check (Google)</label>
		</p>

		<p>
			<input type="checkbox" id="safe_browsing_malware" data-invertvalue="true" data-prefname="browser.safebrowsing.malware.enabled"/>
			<label for="safe_browsing_malware">Disable safe browsing malware check (Google)</label>
		</p>

		<p>
			<input type="checkbox" id="health_report_uploads" data-invertvalue="true" data-prefname="datareporting.healthreport.uploadEnabled"/>
			<label for="health_report_uploads">Disable health report uploads</label>
		</p>

		<p>
			<input type="checkbox" id="telemetry" data-invertvalue="true" data-prefname="toolkit.telemetry.enabled"/>
			<label for="telemetry">Disable telemetry reports</label>
		</p>

	</div>


</div> <!-- end "extras" tab-->

<!-- "whitelist" tab -->

<div id="whitelist_tab" class="hidden">
	<p id="whitelist_checkbox_line">
		<input type="checkbox" id="whitelist_enabled" data-invertvalue="true" data-prefname="extensions.agentSpoof.whiteListDisabled" />
		<label for="whitelist_enabled">Enable whitelist support</label>
	</p>

	<h3 id="whitelist_profile_title" class="trigger">Whitelist Profile</h3>

	<div class="expandable">
		<p>
			<label for="useragent_input">User agent:</label>
			<input type="text" id="useragent_input" data-prefname="extensions.agentSpoof.whiteListUserAgent" />
		</p>

		<p>
			<label for="appcodename_input">AppCodeName:</label>
			<input type="text" id="appcodename_input" data-prefname="extensions.agentSpoof.whiteListAppCodeName" />
		</p>

		<p>
			<label for="appname_input">AppName:</label>
			<input type="text" id="appname_input" data-prefname="extensions.agentSpoof.whiteListAppName" />
		</p>

		<p>
			<label for="appversion_input">AppVersion:</label>
			<input type="text" id="appversion_input" data-prefname="extensions.agentSpoof.whiteListAppVersion" />
		</p>

		<p>
			<label for="vendor_input">Vendor:</label>
			<input type="text" id="vendor_input" data-prefname="extensions.agentSpoof.whiteListVendor" />
		</p>

		<p>
			<label for="vendorsub_input">VendorSub:</label>
			<input type="text" id="vendorsub_input" data-prefname="extensions.agentSpoof.whiteListVendorSub" />
		</p>

		<p>
			<label for="platform_input">Platform:</label>
			<input type="text" id="platform_input" data-prefname="extensions.agentSpoof.whiteListPlatform" />
		</p>

		<p>
			<label for="oscpu_input">OsCpu:</label>
			<input type="text" id="oscpu_input" data-prefname="extensions.agentSpoof.whiteListOsCpu" />
		</p>

		<p>
			<label for="acceptdefault_input">Accept:</label>
			<input type="text" id="acceptdefault_input" data-prefname="extensions.agentSpoof.whiteListAccept" />
		</p>

		<p>
			<label for="acceptencoding_input">Accept Encoding:</label>
			<input type="text" id="acceptencoding_input" data-prefname="extensions.agentSpoof.whiteListAcceptEncoding" />
		</p>

		<p>
			<label for="acceptlanguage_input">Accept Language:</label>
			<input type="text" id="acceptlanguage_input" data-prefname="extensions.agentSpoof.whiteListAcceptLanguage" />
		</p>

		<p><button type="button" id="wlprofsavebtn">Save Profile</button></p>
	</div>

	<h3 id="whitelist_rules_title" class="trigger">Whitelist Rules</h3>

	<div class="expandable">
		<textarea id="site_whitelist"></textarea>
	</div>
</div> <!-- end "whitelist" tab-->

<!-- "help" tab -->

<div id="help_tab" class="hidden">
	<h2>Random Agent Spoofer</h2>

	<p id="version"></p>

	<p>
		Random Agent Spoofer is developed by <a href="https://github.com/dillbyrne/" target="_blank">dillbyrne</a> and
		<a href="https://github.com/dillbyrne/random-agent-spoofer/graphs/contributors" target="_blank">contributors</a>.
		It is <em>free</em> (as in freedom) software distributed under the GNU GPL v3 license.
	</p>

	<h3>Code</h3>

	<ul>
		<li><a href="https://github.com/dillbyrne/random-agent-spoofer/" target="_blank">Source code</a></li>
		<li><a href="https://github.com/dillbyrne/random-agent-spoofer/wiki/Bug-reporting-guide" target="_blank">Report problems</a></li>
	</ul>

	<h3>Community</h3>

	<ul>
		<li><a href="https://github.com/dillbyrne/random-agent-spoofer/wiki" target="_blank">Wiki</a></li>
		<li><a href="https://github.com/dillbyrne/random-agent-spoofer/wiki/user-manual" target="_blank">User manual</a></li>
		<li><a href="https://github.com/dillbyrne/random-agent-spoofer/labels/enhancement" target="_blank">Suggest improvements</a></li>
	</ul>
</div> <!-- end "help" tab-->

</body>
</html>
